﻿module.exports = function (sequelize, DataTypes) {
  // 详情描述
  // status 为1的时候，说明用户激活这个课程刚买
  // status 为5的时候，说明用户已经进行了预约
  // status 为10的时候，说明这个课程已经被销课完结
  // status 为-1的时候，课程被取消

  // isJoin 为1的时候，说明教练用户来参加过课
  // isConfirm 为1的时候，说明用户自己确认来参加课程
  return sequelize.define('JJUserCourse', {
    //  用户Id
    jUserId: {
      type: DataTypes.INTEGER,
      field: 'user_id'
    },
    //  1代表通过，-1代表下架或者取消
    state: {
      type: DataTypes.INTEGER,
    },
    //  课程状态（1代表课程已激活,5代表已预约，10代表已完结, -1代表用户取消，-2代表教练取消，-10代表下架）
    status: {
      type: DataTypes.INTEGER,
    },
    // 课程id
    courseId: {
      type: DataTypes.INTEGER,
      field: 'course_id'
    },
    // 课程详情
    campId: {
      type: DataTypes.INTEGER,
      field: 'camp_id'
    },
    // 类型（1代表是课程，2代表是课时）
    type: {
      type: DataTypes.INTEGER,
      field: 'type'
    },
    // 订单Id
    orderId: {
      type: DataTypes.INTEGER,
      field: 'order_id'
    },
    // 是否参课(1代表参加，0代表未参加)
    isJoin: {
      type: DataTypes.INTEGER,
      field: 'is_join'
    },
    // 是否确认参加课程
    isConfirm: {
      type: DataTypes.INTEGER,
      field: 'is_confirm'
    },
    // 是否是教练的(1代表是教练自己)
    // isJiao: {
    //   type: DataTypes.INTEGER,
    //   field: 'is_jiao'
    // },
    // 教练Id
    lUserId: {
      type: DataTypes.INTEGER,
      field: 'jiao_user_id'
    },
    // 最大报名人数
    maxNum: {
      type: DataTypes.INTEGER,
      field: 'max_num'
    },
    //  修改时间
    updateTime: {
      type: DataTypes.DATE,
      field: 'update_time'
    },
    //  创建时间
    createTime: {
      type: DataTypes.DATE,
      field: 'create_time'
    }
  }, {
    freezeTableName: true,
    tableName: 'jj_user_course',
    timestamps: false
  });
};
